home *** CD-ROM | disk | FTP | other *** search
- package Box2D.Dynamics.Contacts
- {
- import Box2D.Collision.Shapes._bs125;
- import Box2D.Collision.Shapes._hx306;
- import Box2D.Collision.Shapes._vy532;
- import Box2D.Collision._cc280;
- import Box2D.Collision._kn203;
- import Box2D.Collision._lh680;
- import Box2D.Collision._xk47;
- import Box2D.Common.Math.b2Vec2;
- import Box2D.Common._kc225;
- import Box2D.Dynamics._nu737;
- import Box2D.Dynamics._th791;
-
- public class _ww468 extends _nb823
- {
- private static const s_evalCP:_lh680 = new _lh680();
-
- private var m_manifolds:Array;
-
- private var m0:_kn203;
-
- public var m_manifold:_kn203;
-
- public function _ww468(param1:_hx306, param2:_hx306)
- {
- var _loc3_:_cc280 = null;
- m_manifolds = [new _kn203()];
- m0 = new _kn203();
- super(param1,param2);
- m_manifold = m_manifolds[0];
- _kc225._qf234(m_shape1.m_type == _hx306.e_polygonShape);
- _kc225._qf234(m_shape2.m_type == _hx306.e_circleShape);
- m_manifold.pointCount = 0;
- _loc3_ = m_manifold.points[0];
- _loc3_.normalImpulse = 0;
- _loc3_.tangentImpulse = 0;
- }
-
- public static function _em71(param1:_hx306, param2:_hx306, param3:*) : _nb823
- {
- return new _ww468(param1,param2);
- }
-
- public static function _ai321(param1:_nb823, param2:*) : void
- {
- }
-
- override public function _vv339(param1:_nu737) : void
- {
- var _loc2_:int = 0;
- var _loc3_:b2Vec2 = null;
- var _loc4_:b2Vec2 = null;
- var _loc5_:_cc280 = null;
- var _loc6_:_th791 = null;
- var _loc7_:_th791 = null;
- var _loc8_:Array = null;
- var _loc9_:_lh680 = null;
- var _loc10_:_cc280 = null;
- var _loc11_:Boolean = false;
- var _loc12_:uint = 0;
- var _loc13_:int = 0;
- _loc6_ = m_shape1.m_body;
- _loc7_ = m_shape2.m_body;
- m0._br741(m_manifold);
- _xk47._nr401(m_manifold,m_shape1 as _bs125,_loc6_.m_xf,m_shape2 as _vy532,_loc7_.m_xf);
- _loc8_ = [false,false];
- _loc9_ = s_evalCP;
- _loc9_.shape1 = m_shape1;
- _loc9_.shape2 = m_shape2;
- _loc9_.friction = m_friction;
- _loc9_.restitution = m_restitution;
- if(m_manifold.pointCount > 0)
- {
- _loc2_ = 0;
- while(_loc2_ < m_manifold.pointCount)
- {
- _loc10_ = m_manifold.points[_loc2_];
- _loc10_.normalImpulse = 0;
- _loc10_.tangentImpulse = 0;
- _loc11_ = false;
- _loc12_ = _loc10_.id._key;
- _loc13_ = 0;
- while(_loc13_ < m0.pointCount)
- {
- if(_loc8_[_loc13_] != true)
- {
- _loc5_ = m0.points[_loc13_];
- if(_loc5_.id._key == _loc12_)
- {
- _loc8_[_loc13_] = true;
- _loc10_.normalImpulse = _loc5_.normalImpulse;
- _loc10_.tangentImpulse = _loc5_.tangentImpulse;
- _loc11_ = true;
- if(param1 != null)
- {
- _loc9_.position = _loc6_._pj447(_loc10_.localPoint1);
- _loc3_ = _loc6_._hg747(_loc10_.localPoint1);
- _loc4_ = _loc7_._hg747(_loc10_.localPoint2);
- _loc9_.velocity._br741(_loc4_.x - _loc3_.x,_loc4_.y - _loc3_.y);
- _loc9_.normal._kh737(m_manifold.normal);
- _loc9_.separation = _loc10_.separation;
- _loc9_.id._aw644 = _loc12_;
- param1._mx420(_loc9_);
- }
- break;
- }
- }
- _loc13_++;
- }
- if(_loc11_ == false && param1 != null)
- {
- _loc9_.position = _loc6_._pj447(_loc10_.localPoint1);
- _loc3_ = _loc6_._hg747(_loc10_.localPoint1);
- _loc4_ = _loc7_._hg747(_loc10_.localPoint2);
- _loc9_.velocity._br741(_loc4_.x - _loc3_.x,_loc4_.y - _loc3_.y);
- _loc9_.normal._kh737(m_manifold.normal);
- _loc9_.separation = _loc10_.separation;
- _loc9_.id._aw644 = _loc12_;
- param1._um807(_loc9_);
- }
- _loc2_++;
- }
- m_manifoldCount = 1;
- }
- else
- {
- m_manifoldCount = 0;
- }
- if(param1 == null)
- {
- return;
- }
- _loc2_ = 0;
- while(_loc2_ < m0.pointCount)
- {
- if(!_loc8_[_loc2_])
- {
- _loc5_ = m0.points[_loc2_];
- _loc9_.position = _loc6_._pj447(_loc5_.localPoint1);
- _loc3_ = _loc6_._hg747(_loc5_.localPoint1);
- _loc4_ = _loc7_._hg747(_loc5_.localPoint2);
- _loc9_.velocity._br741(_loc4_.x - _loc3_.x,_loc4_.y - _loc3_.y);
- _loc9_.normal._kh737(m0.normal);
- _loc9_.separation = _loc5_.separation;
- _loc9_.id._aw644 = _loc5_.id._key;
- param1._ai707(_loc9_);
- }
- _loc2_++;
- }
- }
-
- override public function _sg202() : Array
- {
- return m_manifolds;
- }
- }
- }
-
-